目前雙擊家具之後可以出現彈窗,本日進度 Day12
在每個家具上面監聽雙擊事件,然後綁定 handleDoubleClick
private createFurniture(): void {
...
this.furniture.forEach(item => {
...
g.addEventListener('dblclick', (event) => this.handleDoubleClick(item, event)); //<--
});
...
}
以下是彈窗方法,元件程式碼請到前面進度查看,不過提醒一下未來可能會再調整
// 雙擊處理方法
private handleDoubleClick(item: Furniture, event: MouseEvent): void {
// 防止事件冒泡
event.stopPropagation();
this.showPopup(item);
}
private showPopup(item: Furniture): void {
console.log('showPopup', item);
this.modal.create({
nzContent: FurnitureModalComponent,
nzFooter: null,
nzMaskClosable: false,
nzClosable: false,
nzOnOk: () => console.log('Click ok')
});
}
昨晚不知道為什麼我的點擊事件無法傳到平面圖的元件上
只好整個抓出來寫 dirty code
今天早上兵荒馬亂的時候有瞟到一眼,在想是不是沒 export 到
先記錄起來,晚點查
後來發現是export到錯誤的元件,元件名稱取到重複的後果